<html>
<head><meta charset="utf-8"><title>meeting 2020-09-08 · t-compiler/wg-rfc-2229 · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/index.html">t-compiler/wg-rfc-2229</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html">meeting 2020-09-08</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="209433541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433541">(Sep 08 2020 at 19:35)</a>:</h4>
<p>Should we have a meeting today?</p>



<a name="209433756"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433756" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433756">(Sep 08 2020 at 19:37)</a>:</h4>
<p>I can update on things</p>
<ul>
<li>We started prototyping the closure printing. We can print starting at a function level, so something like <code>f&lt;T&gt;::closure#0 (types of captures)</code>. Need to look into how to get information about modules printing. </li>
</ul>
<p>I just realised that might be because it's non ambigious. So if two mods had the function <code>f</code> it might print the modules. </p>
<ul>
<li>I'll ping wg-diagnostics today to look at the closure print proposal</li>
</ul>



<a name="209433866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433866">(Sep 08 2020 at 19:38)</a>:</h4>
<p>OK. One thing I wanted to mention:</p>



<a name="209433884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433884">(Sep 08 2020 at 19:38)</a>:</h4>
<p>Since implementing this feature is goin to require an edition</p>



<a name="209433925"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433925" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433925">(Sep 08 2020 at 19:38)</a>:</h4>
<p>It'd be really great if we could get it done by the end of the year</p>



<a name="209433961"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433961" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433961">(Sep 08 2020 at 19:39)</a>:</h4>
<p>I was thinking about "what it's going to take to do that"</p>



<a name="209433982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209433982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209433982">(Sep 08 2020 at 19:39)</a>:</h4>
<p>I don't mean <em>everything</em>, I mean "something that works when feature gate is enabled"</p>



<a name="209434003"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434003" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434003">(Sep 08 2020 at 19:39)</a>:</h4>
<p>it seems like we're not <em>that</em> far away really but maybe we should be making sure we're working hard towards that MVP</p>



<a name="209434029"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434029" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434029">(Sep 08 2020 at 19:39)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/209433925">said</a>:</p>
<blockquote>
<p>It'd be really great if we could get it done by the end of the year</p>
</blockquote>
<p>That would be ideal for us too, since it puts us in a decent shape for our final term</p>



<a name="209434035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434035">(Sep 08 2020 at 19:39)</a>:</h4>
<p>I also don't know what your collective timing constraints are anyway</p>



<a name="209434041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434041">(Sep 08 2020 at 19:39)</a>:</h4>
<p>yeah, I figured</p>



<a name="209434130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434130">(Sep 08 2020 at 19:40)</a>:</h4>
<p>it's still a few months away so seems quite doable to me but I think we don't want to waste <em>too</em> much time iterating</p>



<a name="209434169"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434169" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434169">(Sep 08 2020 at 19:40)</a>:</h4>
<p>I can probably get more time constraints hopefully by the end of the month, once everyone is a bit adjusted with the term</p>



<a name="209434245"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434245" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434245">(Sep 08 2020 at 19:41)</a>:</h4>
<p>ok, so, apart from how we print closures, what's the next step in your mind</p>



<a name="209434384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434384">(Sep 08 2020 at 19:42)</a>:</h4>
<p>It definitely feels doable. This is what I see so far</p>
<ul>
<li>Closure printing </li>
<li>Inference variable instead of tuple of inference </li>
<li>Validate the bridge + min borrowing</li>
<li>Remove the bridge and use new closure captures</li>
<li>MIR lowering</li>
</ul>



<a name="209434459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434459">(Sep 08 2020 at 19:43)</a>:</h4>
<p>MIR Lowering feels like it might go before "remove the bridge"</p>



<a name="209434475"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434475" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434475">(Sep 08 2020 at 19:43)</a>:</h4>
<p>Or maybe I'm confused</p>



<a name="209434509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434509">(Sep 08 2020 at 19:43)</a>:</h4>
<p>Remove the bridge is to not use closure_captures and upvars_capture_map and rather use places everywhere</p>



<a name="209434514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434514">(Sep 08 2020 at 19:43)</a>:</h4>
<p>The first two steps definitely make sense, and I think we should move fairly quickly towards them</p>



<a name="209434585"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434585" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434585">(Sep 08 2020 at 19:44)</a>:</h4>
<p>Right, it seems like that will require MIR lowering is what I mean I think</p>



<a name="209434611"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434611" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434611">(Sep 08 2020 at 19:44)</a>:</h4>
<p>What does "Validate min borrowing" mean?</p>



<a name="209434649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434649">(Sep 08 2020 at 19:44)</a>:</h4>
<p>I should have had them separate</p>



<a name="209434713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434713">(Sep 08 2020 at 19:45)</a>:</h4>
<p>Bridge is essentially doing new capture analysis and using them to constuct old structs</p>



<a name="209434729"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434729" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434729">(Sep 08 2020 at 19:45)</a>:</h4>
<p>so validate that</p>



<a name="209434764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434764">(Sep 08 2020 at 19:45)</a>:</h4>
<p>right--</p>



<a name="209434788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434788">(Sep 08 2020 at 19:45)</a>:</h4>
<p>Then implement min borrowing as part of the bridge/capture analysis</p>



<a name="209434792"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434792" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434792">(Sep 08 2020 at 19:45)</a>:</h4>
<p>(and as we discussed, if the feature gate is not present, we'll add in the "uses" from <code>upvars_mentioned</code>)</p>



<a name="209434793"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434793" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434793">(Sep 08 2020 at 19:45)</a>:</h4>
<p>and make sure that works too</p>



<a name="209434808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434808">(Sep 08 2020 at 19:45)</a>:</h4>
<p>Yeah</p>



<a name="209434863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434863">(Sep 08 2020 at 19:46)</a>:</h4>
<p>ok, so, I guess I see some amount of "parallelization" that may be possible</p>



<a name="209434885"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434885" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434885">(Sep 08 2020 at 19:46)</a>:</h4>
<p>not sure how many of you there still are :)</p>



<a name="209434891"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434891" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434891">(Sep 08 2020 at 19:46)</a>:</h4>
<p>since I mainly talk to you :)</p>



<a name="209434904"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434904" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434904">(Sep 08 2020 at 19:46)</a>:</h4>
<p>but it seems like we might be able to split out</p>



<a name="209434924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434924">(Sep 08 2020 at 19:46)</a>:</h4>
<p>basically the MIR lowering part of the equation from min borrowing</p>



<a name="209434943"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434943" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434943">(Sep 08 2020 at 19:47)</a>:</h4>
<p>the idea being something like:</p>



<a name="209434945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434945">(Sep 08 2020 at 19:47)</a>:</h4>
<ul>
<li>introduce the bridge</li>
</ul>



<a name="209434982"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434982" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434982">(Sep 08 2020 at 19:47)</a>:</h4>
<p>Others are still working, I'm just kinda of doing the PM and  discussions happen. </p>
<p>There is some degree of depenedence on the first three</p>



<a name="209434997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209434997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209434997">(Sep 08 2020 at 19:47)</a>:</h4>
<ul>
<li>generate the new data structure, but add in "dummy" uses when feature-gate is not enabled, or otherwise tweak things so that the "places" that are captured are always local variables</li>
</ul>



<a name="209435068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435068">(Sep 08 2020 at 19:48)</a>:</h4>
<p>essentially my hope would be that you can push on the MIR lowering and new data structure work in parallel with the "min capture", with that min capture work being gated behind the feature gate</p>



<a name="209435085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435085">(Sep 08 2020 at 19:48)</a>:</h4>
<ul>
<li>So closure printing is mostly for test cases for the inference tuple </li>
<li>We need the tuple inference to finish the bridge in the <code>let _ = x</code> case. This is because closure substs won't have the same size as closure_captures</li>
</ul>



<a name="209435112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435112">(Sep 08 2020 at 19:48)</a>:</h4>
<p>yeah, we gotta do those first two steps</p>



<a name="209435240"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435240" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435240">(Sep 08 2020 at 19:49)</a>:</h4>
<p>I think I have a clearish vision for the most part until the bridge. Some doubt on the auto trait stuff on the tuple inference, still need to revisit that.</p>



<a name="209435352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435352">(Sep 08 2020 at 19:50)</a>:</h4>
<p>OK. well, let's not worry too much, but I do think there may be some opportuniy to be doing the MIR work while having a separate set of people tweaking the 'minimal captures'</p>



<a name="209435482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435482">(Sep 08 2020 at 19:52)</a>:</h4>
<p>I guess that's fair, also since it's feature gated, we can reduce the number of initial testacses to allow us to parallelize</p>



<a name="209435524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435524">(Sep 08 2020 at 19:52)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281950">Aman Arora</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/209435240">said</a>:</p>
<blockquote>
<p>I think I have a clearish vision for the most part until the bridge. Some doubt on the auto trait stuff on the tuple inference, still need to revisit that.</p>
</blockquote>
<p>regarding this</p>



<a name="209435537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435537">(Sep 08 2020 at 19:52)</a>:</h4>
<p>I think the doubt is basically whether</p>



<a name="209435570"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435570" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435570">(Sep 08 2020 at 19:52)</a>:</h4>
<p>well whether the trait code ought to decide that things are ambiguous if you have an unresolved inference variable (i.e., tuple arity not yet known)</p>



<a name="209435589"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435589" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435589">(Sep 08 2020 at 19:53)</a>:</h4>
<p>or whether it should just recurse on the inference variable itself?</p>



<a name="209435625"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435625" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435625">(Sep 08 2020 at 19:53)</a>:</h4>
<p>i.e., it has to produce a list of component types, and it can either produce a list with the <em>elements of the tuple</em> (if we know that yet) or produce a list <em>with the tuple itself</em></p>



<a name="209435632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435632">(Sep 08 2020 at 19:53)</a>:</h4>
<p>is that the thing you are having doubts about?</p>



<a name="209435646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435646">(Sep 08 2020 at 19:53)</a>:</h4>
<p>/me reading</p>



<a name="209435662"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435662" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435662">(Sep 08 2020 at 19:53)</a>:</h4>
<p>My take is that the latter is more elegant, but leads to worse diagnostics, and the former ought to be equivalent, so maybe we should just do that.</p>



<a name="209435720"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435720" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435720">(Sep 08 2020 at 19:54)</a>:</h4>
<p>(We could fix the diganostics but I don't think it's worth it right now, it is a fine thing to leave as a FIXME)</p>



<a name="209435773"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435773" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435773">(Sep 08 2020 at 19:54)</a>:</h4>
<p>Kind of, mostly because there were comments about diagnostics issues in previous attempt(s)</p>



<a name="209435818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435818">(Sep 08 2020 at 19:55)</a>:</h4>
<p>Yeah, this is because of the interaction I'm describing</p>



<a name="209435860"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209435860" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209435860">(Sep 08 2020 at 19:55)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/209435720">said</a>:</p>
<blockquote>
<p>(We could fix the diganostics but I don't think it's worth it right now, it is a fine thing to leave as a FIXME)</p>
</blockquote>
<p>I guess that works</p>



<a name="209436273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209436273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209436273">(Sep 08 2020 at 19:59)</a>:</h4>
<p>I'm not really sure which is the 'cleaner' approach anyway</p>



<a name="209436540"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209436540" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209436540">(Sep 08 2020 at 20:01)</a>:</h4>
<p>We might get a better picture once rest of the bugs in that implementation are fixed</p>



<a name="209436863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209436863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209436863">(Sep 08 2020 at 20:03)</a>:</h4>
<p>pinged wg-diagnostics for <a href="https://github.com/rust-lang/project-rfc-2229/pull/17">https://github.com/rust-lang/project-rfc-2229/pull/17</a></p>



<a name="209439236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209439236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209439236">(Sep 08 2020 at 20:22)</a>:</h4>
<p><span class="user-mention" data-user-id="119031">@Esteban Küber</span> <span aria-label="point up" class="emoji emoji-1f446" role="img" title="point up">:point_up:</span></p>



<a name="209918395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/209918395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#209918395">(Sep 13 2020 at 07:27)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> </p>
<p>So I made the changes as they exist in the RFC, here are some of the new tests I added just to test printing: <a href="https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7">https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7</a></p>
<p>I kind of agree with <span class="user-mention" data-user-id="119031">@Esteban Küber</span> 's comment here: <a href="https://github.com/rust-lang/project-rfc-2229/pull/17#discussion_r485298631">https://github.com/rust-lang/project-rfc-2229/pull/17#discussion_r485298631</a><br>
that maybe we want the span for non verbose diagnostics.</p>
<p>We probably also want to discuss if we want closure_signature and kind being printed in case they aren't inferred yet. </p>
<p>I would like to update the proposal: <a href="https://github.com/rust-lang/project-rfc-2229/compare/closure_print_proposal...proposal_update?expand=1">https://github.com/rust-lang/project-rfc-2229/compare/closure_print_proposal...proposal_update?expand=1</a><br>
The changes are: </p>
<ul>
<li>Closure stay similar to before in -Zverbose (If we want DefPaths with span we can do that as a side, as it it allows us to continue on other 2229 tasks)</li>
<li>Closure signature/kind won't be printed unless capture analysis is done</li>
<li>Document that the paths might get trimmed in the case that they aren't ambiguous</li>
</ul>



<a name="210059423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059423">(Sep 14 2020 at 20:34)</a>:</h4>
<p><span class="user-mention" data-user-id="281950">@Aman Arora</span> I agree with <span class="user-mention" data-user-id="119031">@Esteban Küber</span> that the span seems more "actionable" than just a number</p>



<a name="210059521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059521">(Sep 14 2020 at 20:35)</a>:</h4>
<p>I'm not sure what you mean though about closure signature/kind being printed -- do we print those today?</p>



<a name="210059535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059535">(Sep 14 2020 at 20:35)</a>:</h4>
<p>If -Zverbose is set, yes</p>



<a name="210059547"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059547" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059547">(Sep 14 2020 at 20:35)</a>:</h4>
<p>oh, with <code>-Zverbose</code>, ok</p>



<a name="210059635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059635">(Sep 14 2020 at 20:36)</a>:</h4>
<p>But if capture analysis can't be verified as finished, not sure if we should be printing them either</p>



<a name="210059782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059782">(Sep 14 2020 at 20:37)</a>:</h4>
<p>I would just expect that with <code>-Zverbose</code> we would dump the raw substitutions</p>



<a name="210059790"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059790" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059790">(Sep 14 2020 at 20:37)</a>:</h4>
<p>which will include that information if it's around</p>



<a name="210059804"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059804" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059804">(Sep 14 2020 at 20:37)</a>:</h4>
<p>though in "type" form</p>



<a name="210059838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059838">(Sep 14 2020 at 20:37)</a>:</h4>
<p><a href="https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7#diff-2499607df6be6b59080f652be2ff4042R12">https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7#diff-2499607df6be6b59080f652be2ff4042R12</a><br>
Eg here it isn't available</p>



<a name="210059839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210059839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210059839">(Sep 14 2020 at 20:37)</a>:</h4>
<p>I guess that's a bit harder for folks to read who are debugging the compiler but I think it'll be ok</p>



<a name="210060440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210060440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210060440">(Sep 14 2020 at 20:42)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/210059804">said</a>:</p>
<blockquote>
<p>though in "type" form</p>
</blockquote>
<p>we will only do this after typeck, because before that it's an inference variable</p>



<a name="210060587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210060587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210060587">(Sep 14 2020 at 20:43)</a>:</h4>
<p>yeah, and it seems like that just falls out</p>



<a name="210060764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210060764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210060764">(Sep 14 2020 at 20:45)</a>:</h4>
<p>That's why I suggest we go with <code>substs=(unavailable)</code> until typeck writeback is complete</p>



<a name="210062590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062590">(Sep 14 2020 at 20:59)</a>:</h4>
<p><span class="user-mention" data-user-id="281950">@Aman Arora</span> that seems fine</p>



<a name="210062600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062600">(Sep 14 2020 at 20:59)</a>:</h4>
<p>except for one nit</p>



<a name="210062608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062608">(Sep 14 2020 at 21:00)</a>:</h4>
<p>I do't think it's "until writeback is complete"</p>



<a name="210062671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062671">(Sep 14 2020 at 21:00)</a>:</h4>
<p>I guess I just think it's "substs={:?}" with the type</p>



<a name="210062676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062676">(Sep 14 2020 at 21:00)</a>:</h4>
<p>which may be an inference variable</p>



<a name="210062704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062704">(Sep 14 2020 at 21:00)</a>:</h4>
<p>checking "if this is complete" is always really fraught in our query system</p>



<a name="210062713"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062713" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062713">(Sep 14 2020 at 21:00)</a>:</h4>
<p>I dn't think we have any logic for that right now, do we?</p>



<a name="210062725"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062725" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062725">(Sep 14 2020 at 21:00)</a>:</h4>
<p>that might print parent subts, which might be too much</p>



<a name="210062780"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062780" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062780">(Sep 14 2020 at 21:01)</a>:</h4>
<p>hmm, ok</p>



<a name="210062797"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062797" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062797">(Sep 14 2020 at 21:01)</a>:</h4>
<p>that might be too much, or it might be quite useful :)</p>



<a name="210062808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062808">(Sep 14 2020 at 21:01)</a>:</h4>
<p>I guess <span class="user-mention" data-user-id="116107">@davidtwco</span> was giving examples I think whre it was useful, right?</p>



<a name="210062834"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062834" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062834">(Sep 14 2020 at 21:02)</a>:</h4>
<p>that said, I am ok with printing whatever</p>



<a name="210062906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062906">(Sep 14 2020 at 21:02)</a>:</h4>
<p>that is, if we want to inspect and if we see an inference variable we print "unavailable" or whatever, seems fine</p>



<a name="210062921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062921">(Sep 14 2020 at 21:02)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/210062808">said</a>:</p>
<blockquote>
<p>I guess <span class="user-mention silent" data-user-id="116107">davidtwco</span> was giving examples I think whre it was useful, right?</p>
</blockquote>
<p>we can print path for verbose that will cover what we need</p>



<a name="210062994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210062994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210062994">(Sep 14 2020 at 21:03)</a>:</h4>
<p>like it will be much nicer to read</p>



<a name="210063011"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210063011" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210063011">(Sep 14 2020 at 21:03)</a>:</h4>
<p><a href="https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7#diff-2499607df6be6b59080f652be2ff4042R12">https://github.com/sexxi-goose/rust/pull/22/commits/ef27f397d3df8df1b261554f92b8ffe6981389b7#diff-2499607df6be6b59080f652be2ff4042R12</a></p>



<a name="210063037"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210063037" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210063037">(Sep 14 2020 at 21:03)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/210062713">said</a>:</p>
<blockquote>
<p>I dn't think we have any logic for that right now, do we?</p>
</blockquote>
<p>currently we just check if upvar_tys is a Tuple</p>



<a name="210063119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210063119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210063119">(Sep 14 2020 at 21:04)</a>:</h4>
<p>which won't  be true going once we use inference variable</p>



<a name="210066432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210066432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210066432">(Sep 14 2020 at 21:37)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281950">Aman Arora</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/210063119">said</a>:</p>
<blockquote>
<p>which won't  be true going once we use inference variable</p>
</blockquote>
<p><a href="https://github.com/rust-lang/rust/blob/master/compiler/rustc_middle/src/ty/sty.rs#L369-L371">https://github.com/rust-lang/rust/blob/master/compiler/rustc_middle/src/ty/sty.rs#L369-L371</a></p>



<a name="210066663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210066663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aman Arora <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210066663">(Sep 14 2020 at 21:39)</a>:</h4>
<p>I think even the goal with the current one is that it doesn't print unless things have been substituted. However it doesn't behave that way yet</p>



<a name="210068337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/189812-t-compiler/wg-rfc-2229/topic/meeting%202020-09-08/near/210068337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/189812-t-compiler/wg-rfc-2229/topic/meeting.202020-09-08.html#210068337">(Sep 14 2020 at 21:59)</a>:</h4>
<p><span class="user-mention silent" data-user-id="281950">Aman Arora</span> <a href="#narrow/stream/189812-t-compiler.2Fwg-rfc-2229/topic/meeting.202020-09-08/near/210063037">said</a>:</p>
<blockquote>
<p>currently we just check if upvar_tys is a Tuple</p>
</blockquote>
<p>yeah that's fine too</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>